package domain.weapon;

import images.Images;

import com.uqbar.vainilla.appearances.Appearance;
import com.uqbar.vainilla.sound.Sound;

import domain.components.SightComponent;
import domain.game.GameState;
import domain.scenes.MainGameScene;

public abstract class Weapon {

	private SightComponent sight;
	
	public abstract void shoot(int d, double angle, double power, MainGameScene scene);

	public void setSight(SightComponent sight) {
		this.sight = sight;
	}

	public SightComponent getSight() {
		return sight;
	}
	
	public abstract Appearance getAppWeaponLeft();
	
	public abstract Appearance getAppWeaponRight();
	
	public abstract double getLimitPowerWeapon();

	public abstract String getKeyPathSoundReload();

	public abstract String  getKeyPathSoundFire();
	

}
